home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 1998 August / PC Plus SuperCD 50a Issue 142 (CD142a) (August 1998).iso / trial / demon / TURNPIKE.1 / CLASSES.ZIP / JAVA / AWT / GridLayout.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-04-14  |  2.3 KB  |  128 lines

  1. package java.awt;
  2.  
  3. public class GridLayout implements LayoutManager {
  4.    int hgap;
  5.    int vgap;
  6.    int rows;
  7.    int cols;
  8.  
  9.    public GridLayout(int var1, int var2) {
  10.       this(var1, var2, 0, 0);
  11.    }
  12.  
  13.    public GridLayout(int var1, int var2, int var3, int var4) {
  14.       if (var1 == 0 && var2 == 0) {
  15.          throw new IllegalArgumentException("invalid rows,cols");
  16.       } else {
  17.          this.rows = var1;
  18.          this.cols = var2;
  19.          this.hgap = var3;
  20.          this.vgap = var4;
  21.       }
  22.    }
  23.  
  24.    public void addLayoutComponent(String var1, Component var2) {
  25.    }
  26.  
  27.    public void removeLayoutComponent(Component var1) {
  28.    }
  29.  
  30.    public Dimension preferredLayoutSize(Container var1) {
  31.       Insets var2 = var1.insets();
  32.       int var3 = var1.countComponents();
  33.       int var4 = this.rows;
  34.       int var5 = this.cols;
  35.       if (var4 > 0) {
  36.          var5 = (var3 + var4 - 1) / var4;
  37.       } else {
  38.          var4 = (var3 + var5 - 1) / var5;
  39.       }
  40.  
  41.       int var6 = 0;
  42.       int var7 = 0;
  43.  
  44.       for(int var8 = 0; var8 < var3; ++var8) {
  45.          Component var9 = var1.getComponent(var8);
  46.          Dimension var10 = var9.preferredSize();
  47.          if (var6 < var10.width) {
  48.             var6 = var10.width;
  49.          }
  50.  
  51.          if (var7 < var10.height) {
  52.             var7 = var10.height;
  53.          }
  54.       }
  55.  
  56.       return new Dimension(var2.left + var2.right + var5 * var6 + (this.cols - 1) * this.hgap, var2.top + var2.bottom + var4 * var7 + (this.rows - 1) * this.vgap);
  57.    }
  58.  
  59.    public Dimension minimumLayoutSize(Container var1) {
  60.       Insets var2 = var1.insets();
  61.       int var3 = var1.countComponents();
  62.       int var4 = this.rows;
  63.       int var5 = this.cols;
  64.       if (var4 > 0) {
  65.          var5 = (var3 + var4 - 1) / var4;
  66.       } else {
  67.          var4 = (var3 + var5 - 1) / var5;
  68.       }
  69.  
  70.       int var6 = 0;
  71.       int var7 = 0;
  72.  
  73.       for(int var8 = 0; var8 < var3; ++var8) {
  74.          Component var9 = var1.getComponent(var8);
  75.          Dimension var10 = var9.minimumSize();
  76.          if (var6 < var10.width) {
  77.             var6 = var10.width;
  78.          }
  79.  
  80.          if (var7 < var10.height) {
  81.             var7 = var10.height;
  82.          }
  83.       }
  84.  
  85.       return new Dimension(var2.left + var2.right + var5 * var6 + (this.cols - 1) * this.hgap, var2.top + var2.bottom + var4 * var7 + (this.rows - 1) * this.vgap);
  86.    }
  87.  
  88.    public void layoutContainer(Container var1) {
  89.       Insets var2 = var1.insets();
  90.       int var3 = var1.countComponents();
  91.       int var4 = this.rows;
  92.       int var5 = this.cols;
  93.       if (var3 != 0) {
  94.          if (var4 > 0) {
  95.             var5 = (var3 + var4 - 1) / var4;
  96.          } else {
  97.             var4 = (var3 + var5 - 1) / var5;
  98.          }
  99.  
  100.          int var6 = var1.width - (var2.left + var2.right);
  101.          int var7 = var1.height - (var2.top + var2.bottom);
  102.          var6 = (var6 - (var5 - 1) * this.hgap) / var5;
  103.          var7 = (var7 - (var4 - 1) * this.vgap) / var4;
  104.          int var8 = 0;
  105.  
  106.          for(int var9 = var2.left; var8 < var5; var9 += var6 + this.hgap) {
  107.             int var10 = 0;
  108.  
  109.             for(int var11 = var2.top; var10 < var4; var11 += var7 + this.vgap) {
  110.                int var12 = var10 * var5 + var8;
  111.                if (var12 < var3) {
  112.                   var1.getComponent(var12).reshape(var9, var11, var6, var7);
  113.                }
  114.  
  115.                ++var10;
  116.             }
  117.  
  118.             ++var8;
  119.          }
  120.  
  121.       }
  122.    }
  123.  
  124.    public String toString() {
  125.       return this.getClass().getName() + "[hgap=" + this.hgap + ",vgap=" + this.vgap + ",rows=" + this.rows + ",cols=" + this.cols + "]";
  126.    }
  127. }
  128.